﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ComponentModel.Composition;
using ShredTheLog.Api;

namespace ShredTheLog.Themes
{
    [Export(typeof(ISkinPart))]
    [PartCreationPolicy(CreationPolicy.Shared)]
    public sealed class FlashWindowPart : ISkinPart
    {
        public string ThemeID { get { return FlashTheme.IDString; } }
        public string PartID { get { return DefaultWindowPart.IDString; } }
        public Uri PartUri { get { return Helper.GetThemeUri("FlashWindow.xaml"); } }
    }

    [Export(typeof(ISkinPart))]
    [PartCreationPolicy(CreationPolicy.Shared)]
    public sealed class FlashUserToolTipPart : ISkinPart
    {
        public string ThemeID { get { return FlashTheme.IDString; } }
        public string PartID { get { return DefaultUserToolTipPart.IDString; } }
        public Uri PartUri { get { return Helper.GetThemeUri("FlashUserToolTip.xaml"); } }
    }

    [Export(typeof(ISkinPart))]
    [PartCreationPolicy(CreationPolicy.Shared)]
    public sealed class FlashMainPart : ISkinPart
    {
        public string ThemeID { get { return FlashTheme.IDString; } }
        public string PartID { get { return DefaultMainPart.IDString; } }
        public Uri PartUri { get { return Helper.GetThemeUri("FlashMain.xaml"); } }
    }

    [Export(typeof(ISkinPart))]
    [PartCreationPolicy(CreationPolicy.Shared)]
    public sealed class FlashHomePagePart : ISkinPart
    {
        public string ThemeID { get { return FlashTheme.IDString; } }
        public string PartID { get { return DefaultHomePagePart.IDString; } }
        public Uri PartUri { get { return Helper.GetThemeUri("FlashHomePage.xaml"); } }
    }

    [Export(typeof(ISkinPart))]
    [PartCreationPolicy(CreationPolicy.Shared)]
    public sealed class FlashTextChatPagePart : ISkinPart
    {
        public string ThemeID { get { return FlashTheme.IDString; } }
        public string PartID { get { return DefaultTextChatPagePart.IDString; } }
        public Uri PartUri { get { return Helper.GetThemeUri("FlashTextChatPage.xaml"); } }
    }

    [Export(typeof(ISkinPart))]
    [PartCreationPolicy(CreationPolicy.Shared)]
    public sealed class FlashUserProfilePart : ISkinPart
    {
        public string ThemeID { get { return FlashTheme.IDString; } }
        public string PartID { get { return DefaultUserProfilePart.IDString; } }
        public Uri PartUri { get { return Helper.GetThemeUri("FlashUserProfile.xaml"); } }
    }

    [Export(typeof(ISkinPart))]
    [PartCreationPolicy(CreationPolicy.Shared)]
    public sealed class FlashTextChatRoomPart : ISkinPart
    {
        public string ThemeID { get { return FlashTheme.IDString; } }
        public string PartID { get { return DefaultTextChatRoomPart.IDString; } }
        public Uri PartUri { get { return Helper.GetThemeUri("FlashTextChatRoom.xaml"); } }
    }

    [Export(typeof(ISkinPart))]
    [PartCreationPolicy(CreationPolicy.Shared)]
    public sealed class FlashTextChatRoomSpansPart : ISkinPart
    {
        public string ThemeID { get { return FlashTheme.IDString; } }
        public string PartID { get { return DefaultTextChatRoomSpansPart.IDString; } }
        public Uri PartUri { get { return Helper.GetThemeUri("FlashTextChatRoomSpans.xaml"); } }
    }

    [Export(typeof(ISkinPart))]
    [PartCreationPolicy(CreationPolicy.Shared)]
    public sealed class FlashMiscPart : ISkinPart
    {
        public string ThemeID { get { return FlashTheme.IDString; } }
        public string PartID { get { return DefaultMiscPart.IDString; } }
        public Uri PartUri { get { return Helper.GetThemeUri("FlashMisc.xaml"); } }
    }

    [Export(typeof(ISkinPart))]
    [PartCreationPolicy(CreationPolicy.Shared)]
    public sealed class FlashContactListPart : ISkinPart
    {
        public string ThemeID { get { return FlashTheme.IDString; } }
        public string PartID { get { return DefaultContactListPart.IDString; } }
        public Uri PartUri { get { return Helper.GetThemeUri("FlashContactList.xaml"); } }
    }

    [Export(typeof(ISkinPart))]
    [PartCreationPolicy(CreationPolicy.Shared)]
    public sealed class FlashUserSearchPart : ISkinPart
    {
        public string ThemeID { get { return FlashTheme.IDString; } }
        public string PartID { get { return DefaultUserSearchPart.IDString; } }
        public Uri PartUri { get { return Helper.GetThemeUri("FlashUserSearch.xaml"); } }
    }
}
